<!doctype linuxdoc system>
<article>

<title> Information for Trident Chipset Users
<author> The XFree86 Project, Inc.
<date> 14 January 1996
<toc>

<sect> Supported chipsets <p>
The Trident driver has undergone major work XFree86 3.1.2B.
Because of this work, all of the Trident SVGA chipsets, except
the very first one, are supported by both the color and monochrome servers.
<quote><bf>
8800CS 8200LX
8900B 8900C 8900CL/D 9000 9000i 9100B
9200CXr 9320LCD 9400CXi 9420 9420DGi 9430DGi 9440AGi 9660XGi 9680
</bf></quote>
It must be noted that the 9000i chipset is treated as a 9000 by the server.
Additionally the 9100B is treated 
as a Trident 8900CL. Therefore it is equivalent to putting 
`<tt>Chipset "tvga8900cl"</tt>' or
`<tt>Chipset "tvga9000"</tt>' in the <tt>XF86Config</tt> file.  Also, 
note that the 9000i, 9100B have not been tested with the server, 
but should work in this way according to the chipset documentation.

<bf> NOTES: </bf>
<itemize>
<item>The TGUI9440/9660/9680 are now fully supported by the SVGA server.
<item>16 bits per pixel is now supported for the 8900D, 9200CXr, 9400CXi,
9420DGi, 9430DGi, 9440AGi, 9660XGi and 9680, but only the 9440AGi and 9400CXi
have been tested.
<item>Linear access has been implemented for chipsets that support it.
It is enabled by default for PCI cards, and disabled by default for other
cards.
Additionally Hardware cursor is implemented for the 9430, 9440, 9660 and 9680,
although only the 9440 and 9660 have been tested with the hardware cursor.
<item>The following options may be specified for the Trident driver:
<descrip>
<tag>Option &dquot;nolinear&dquot;</tag>
	Turn off linear mapping
<tag>Option &dquot;linear&dquot;</tag>
	Force linear mapping.  Use this if you have a non-PCI card and
	require 16bpp support.  Note: ISA cards can only access up to
	16MB of memory, so be sure you have less than this or it could
	cause a system hang.
<tag>Option &dquot;fast_dram&dquot;</tag>
	45ns DRAM
<tag>Option &dquot;med_dram&dquot;</tag>
	70ns DRAM
<tag>Option &dquot;slow_dram&dquot;</tag>
	80ns DRAM.  This is the default for TGUIs.
<tag>Option &dquot;sw_cursor&dquot;</tag>
	Turn off hardware cursor
<tag>Option &dquot;pci_burst_on&dquot;</tag>
	Turn on PCI burst mode
<tag>Option &dquot;pci_burst_off&dquot;</tag>
	Turn off PCI burst mode.  If you appear to be suffering screen
	corruption use this setting.
<tag>ClockChip &dquot;tgui&dquot;</tag>
	Turn on programmable clocks.  This is the default for TGUIs.
</descrip>
<item>No acceleration features of the newer chipsets have been taken
advantage of yet!
</itemize>

The original Trident chipset, 8800BR, cannot be supported as an SVGA chipset 
by either the color or monochrome servers.  The chip is supported, however, 
by the ``generic'' driver for the monochrome server.

<sect> Special considerations for 512k boards <p>
There are no longer any special considerations for 512k Trident boards.
The driver is now configured so that they can use modes with normal
timings.  The available pixel clocks are halved compared with those
specified on the Clocks line

Be aware that older Trident chipsets support a maximum clock of 65Mhz.  Hence 
the best actual clock available to the color server is 32.5Mhz.  This means, 
in broad terms, that the color server will require an interlaced mode to be 
defined for resolutions above 640x480.  Newer chipsets (8900CL, 9000, 9000i,
9100B, 9200CX and 9420) support up to 16 clocks, and can support much higher
clocks, which will allow 800x600 modes, non-interlaced.

<sect> Additional Notes <p>
We have had reports of the server failing to detect the amount of installed
memory and the correct dot-clocks on older TVGA8900 boards.  If the server 
fails to detect the correct amount of memory, use the <tt>"Videoram"</tt>
keyword in your <tt>XF86Config</tt> file to specify it.
(e.g. <tt>Videoram 512</tt> or <tt>Videoram 1024</tt>).  If 
the server has problems detecting the dot-clocks, try adding the following 
line to your <tt>XF86Config</tt> file:
<verb>
        Clocks  25 28 45 36 57 65 50 40
</verb>
This line gives the clock values provided by older Trident clock synthesizer
chipsets.  This also appears to be the standard first 8 clocks for the newer
clock synthesizers, but you should have no problems on newer boards.
  
Some newer Trident 8900B/C boards are apparently being built with the clock
synthesizers used on the 9000 and 8900CL boards.  If your board has a chip
labeled "Trident TCK900x" ("x" has been seen as 2 or 4; there may be others),
your board may actually have a 4th clock select bit.  The 9002 has twelve
distinct clocks (the other 4 are duplicates); the 9004 has 16 clocks (the
same 12 as the 9002 + 4 others).  If you see such a chip on a board with
an 8900B or 8900C, put the following line in the Device section of your
<tt>XF86Config</tt> file:
<verb>
        Option "16clocks"
</verb>
This will cause the same clock selection code as is used for the 8900CL to
be used for the board.

While developing the Trident driver, an interesting and perturbing hardware
phenomenon was discovered.  When using the default board jumper configuration,
dot-clocks above 57Mhz would frequently lock up the machine.  There appear
to be jumpers on all of the Trident boards that determine whether the
board will operate in zero-wait-state mode on the ISA bus.  Disabling the
zero-wait-state mode via jumpers cured the lockups, but at the expense
of performance.  Whether or not a given system will experience this problem
is likely a combination of (a) bus speed, (b) video memory speed, and (c) dot
clock speed.  So be prepared for this phenomenon to occur, and have the board
documentation handy.

NOTE: VLBus cards are also subject to the above. By specifying the Clocks
in the <tt>XF86Config</tt> file, these lockups are overcome. But it may
be worth checking wait states etc. on the card and in the BIOS setup.

<verb>
$XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/trident.sgml,v 3.7 1996/01/16 15:04:29 dawes Exp $






$XConsortium: trident.sgml /main/7 1996/01/16 15:36:48 kaleb $
</verb>

</article>

